from llmtcg.chat.tool import Function, FunctionParameters
from dataclasses import dataclass
from enum import Enum


@dataclass
class FunctionCallActivity:
    prompt: str
    function: Function
    args: FunctionParameters
    result: str


class AuditResult(Enum):
    PASS = 0
    WARNING = 1
    REJECT = 2


class Auditor:
    def get_name(self) -> str:
        raise NotImplementedError

    def get_last_message(self) -> str:
        raise NotImplementedError

    def audit_function_call(self, activity: FunctionCallActivity) -> AuditResult:
        # 你过关 ;)
        return AuditResult.PASS
